package com.lzh.financial.util;

import cn.hutool.core.util.StrUtil;
import io.jsonwebtoken.impl.Base64Codec;

import java.io.IOException;
import java.util.regex.Pattern;

/**
 * 判断格式合法  工具类
 */
public class CommonUtil {
    /**
     * 判断邮箱是否合法
     * @param email
     * @return
     */
    public static boolean isEmail(String email) {
        if (StrUtil.isBlank(email)){
            return false;
        }
        String rule = "[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?";
        Pattern pattern = Pattern.compile(rule);
        return  pattern.matcher(email).matches();
    }

    /**
     * 判断手机是否合法
     * @param mobile
     * @return
     */
    public static boolean isMobile(String mobile) {
        if (StrUtil.isBlank(mobile)) {
            return false;
        }
        String rule = "^1[0-9]{10}$";
        Pattern pattern = Pattern.compile(rule);
        return  pattern.matcher(mobile).matches();
    }



    /**

     * 二进制流转Base64字符串
     *
     * @param data 二进制流
     * @return data
     * @throws IOException 异常
     */
    public static String getImageString(byte[] data) throws IOException {
        Base64Codec decoder = new  Base64Codec();
        return data != null ? decoder.encode(data) : "";
    }


    /**
     * Base64字符串转 二进制流
     *
     * @param base64String Base64
     * @return base64String
     * @throws IOException 异常
     */
    public static byte[] getStringImage(String base64String) throws IOException {
        Base64Codec decoder = new  Base64Codec();
        return base64String != null ? decoder.decode(base64String) : null;
    }
}
